#ifndef __TwGUIRenderer_H__
#define __TwGUIRenderer_H__

#include "TwGUIRenderer.h"
#include "TwScreenTwement.h"

class TwGUITexture;

using namespace TwGUI;

class TwGUIRenderer : public TwGUI::Renderer
{
public:
	TwGUIRenderer();
	virtual ~TwGUIRenderer();

	virtual	void addQuad(const TwGUI::Rect& dest_rect, const TwGUI::Texture* tex, const TwGUI::Rect& texture_rect, const TwGUI::ColourRect& colours);
	virtual	void clearRenderList();
	virtual void doRender();

	virtual	TwGUI::Texture* createTexture(const std::string& filename);
	virtual	TwGUI::Texture* createTexture();
	virtual	void destroyTexture(TwGUI::Texture* texture);

	virtual float getWidth() const;
	virtual float getHeight() const;
	virtual TwGUI::Size getSize() const;
	virtual TwGUI::Rect getRect() const;

protected:
	TwScreenTwementList			mQuadList;
	unsigned int				mQuadUsedIdx;
};

#endif //__TwGUIRenderer_H__